﻿#define _CRT_SECURE_NO_WARNINGS 1

//第一个C程序
//#include <stdio.h>
//
//int main()
//{
//	printf("hello C!\n");
//
//	return 0;
//}

//使用库函数printf
//#include <stdio.h>
//
//int main()
//{
//	printf("%d\n", 100);
//	printf("%f\n", 3.14);
//	printf("%c\n", 'c');
//
//	return 0;
//}

//认识ASCII码值，并打印出32~127对应的字符
//#include <stdio.h>
//
//int main()
//{
//	int i = 0;
//	for (i = 32; i < 128; i++)
//	{
//		printf("%c ",i);
//	}
//
//	return 0;
//}

//%d -- 打印整型
//%c -- 打印字符
//%f -- 打印浮点数
//%s -- 打印字符串

//认识字符串，并且知道了字符串里会隐藏一个字符'\0'作为结束标志
//#include <stdio.h>
//
//int main()
//{
//	char str1[] = "abcdef";
//
//	//认识字符'\0'的重要性
//
//	char str2[] = {'a','b','c','d','e','f'};
//
//	printf("%s\n", str1);
//	printf("%s\n", str2);
//
//	return 0;
//}

//认识转义字符

//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
//	//// \'
//	//printf("%c\n", '\'');
//
//	//// \"
//	//printf("%s\n","\"");
//	//
//	//// \\
//
//	//printf("%s\n", "\\");
//
//	//// \a -- 起警报的作用
//	//printf("\a"); 
//
//	//// \b -- 起退格的作用
//
//	//printf("abcdef\b");
//	//getchar();
//
//	//// \n -- 起换行作用
//	//printf("abcdef\n");
//	//printf("abcdef\n");
//
//	//// \t -- 水平制表符
//	//printf("zhang\t\t20\n");
//	//printf("lisi\t\t18\n");
//
//	//// \ddd -- ddd替换为8进制数字, 如\130，打印成字符就是'X'
//	//// \xdd -- dd替换为16进制数字，ru\x30，打印成字符就是'0'
//	//printf("%c\n", '\130');
//	//printf("%c\n", '\x30');
//
//	return 0;
//}


//语句和语句分类
//空语句
//表达式语句
//函数调用语句
//复合语句
//控制语句

//#include <stdio.h>
//
//int main()
//{
//	;//空语句
//
//	5 + 10;//表达式语句
//
//	printf("abcdef");//函数调用语句
//
//	{
//		int a = 0;
//	}//复合语句
//
//
//	//控制语句
//	//if、switch、for、while、do while、breack、goto、continue、return
//
//
//	return 0;
//}

//认识数据类型
//整型：int、short、long、long long
//字符型：char
//浮点型：float double long double
//布尔类型：bool

//各种类型的程度
//#include <stdio.h>
//#include <stdbool.h>
//
//int main()
//{
//	//打印的长度的单位是字节，而1字节等于8bit位
//	printf("%zd\n", sizeof(char)); 
//	printf("%zd\n", sizeof(bool));
//	printf("%zd\n", sizeof(short));
//	printf("%zd\n", sizeof(int));
//	printf("%zd\n", sizeof(long)); //C语言标准里，long >= int
//	printf("%zd\n",sizeof(long long));
//	printf("%zd\n", sizeof(float));
//	printf("%zd\n", sizeof(double));
//	printf("%zd\n", sizeof(long double)); //long double >= double
//
//
//	return 0;
//}

//sizeof不进行计算
//#include <stdio.h>
//
//int main()
//{
//	int a = 10;
//	short s = 0;
//
//	printf("%zd\n", sizeof(s = a + 2)); //结果是2，a和2都是int类型赋值给short类型时会发生截断
//
//	printf("%d\n", s); //结果是0，sizeof不进行计算
//
//	return 0;
//}

//认识 signed 和 unsigned
//signed是有符号的，包含正负符号正数0负数
//unsigned是无符号的，只包含0和正数


//认识变量和常量
//变量就是会改变的数据，如年龄、身高
//常量是一只是一个样的数据，如身份证号，性别

//认识变量分类
#include <stdio.h>

int b = 2;//全局变量，整个工程都能访问到
int c = 100;

int main()
{
	int a = 0;//局部变量，只能在{}里才能访问到
	int c = 10;//当全局变量和局部变量都有同名的变量时
	printf("%d\n", c);//语法规定局部优先，所以这里会打印局部变量的内容

	return 0;
}